Source code editors are text editors that enable a user (e.g., software developer, programmer, coder, designer, etc.) to edit source code. It may be a standalone software application or built into an integrated development environment (IDE). Some source code editors are made available to users on demand via the Internet from cloud computing provider's servers (i.e., cloud-based).
Common editing features provided by source code editors include syntax checking while the user types, providing warning of syntax problems, autocomplete (or code assistance), syntax highlighting, and so forth. For example, autocomplete (or code assistance) is a convenient feature that involves the source code editor predicting a word or phrase that the user wants to type without the user typing it completely, and providing suggestions for the user to select. Such editing features typically support native language elements (e.g., JavaScript) and some common third party open source libraries (e.g., node.js, express, etc.). Such editing features rely on metadata to obtain information on the structure of the programming elements, such as the signature of the object, parameter type of the application programming interface (API), etc. Such metadata is typically manually generated based on the relevant language standard specification (e.g., ECMAScript specification which formalizes JavaScript).
One problem with conventional source code editors, however, is that they do not readily support the introduction of new third-party libraries. The user may desire to use third-party libraries (e.g., SAP UI5, Apache Cordova, jQuery, etc.) developed by another entity (other than the current user) to improve the efficiency and quality of developing software applications. Such libraries often change frequently, and there is no stable language specification to refer to for manual generation of the metadata. The user typically needs to wait for the provider to release an upgraded version of the source code editor in order to use editing features that support new third-party libraries.
Another problem with conventional source code editors, particularly cloud-based source code editors, is that they require high bandwidth or resources to download or generate the metadata used by the editing features. To support third party libraries, a large amount of metadata may need to be downloaded. Large volumes of source code in user-defined objects may need to be parsed to generate such metadata.